package com.tyk.bookstore.front.payment.model.vo;

import com.tyk.bookstore.front.common.core.model.enume.PaymentWay;
import com.tyk.bookstore.front.common.core.model.vo.PageVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author tyk
 * @description 支付记录
 */
@Data
@Schema(name = "PaymentRecordPageVo", description = "支付记录")
public class PaymentRecordPageVo extends PageVo<PaymentRecordPageVo.PaymentRecord> {

    @Data
    @Schema(name = "PaymentRecord", description = "支付记录")
    public static class PaymentRecord implements Serializable {

        @Serial
        private static final long serialVersionUID = 1L;

        @Schema(description = "ID")
        private Long id;

        @Schema(description = "支付流水号")
        private String tradeNo;

        @Schema(description = "订单ID")
        private Long orderId;

        @Schema(description = "第三方流水号")
        private String outTradeNo;

        @Schema(description = "订单编号")
        private String orderNo;

        @Schema(description = "支付金额")
        private BigDecimal amount;

        @Schema(description = "会员ID")
        private Long memberId;

        @Schema(description = "支付方式")
        private PaymentWay paymentWay;

        @Schema(description = "支付时间")
        private LocalDateTime paymentTime;

    }
}
